# 进阶2
"""
编写一个程序，实现图书信息查询功能并打印输出；查询要求为：图书价格小于70元并且为2017年以后出版的所有图书；
程序实现效果如下所示：
    图书：《Python从入门到精通》，价格：¥69.80元，出版日期：2018-06-18
    图书：《零基础学PHP》，价格：¥69.80元，出版日期：2017-05-23
    图书：《零基础学Java》，价格：¥69.80元，出版日期：2017-05-23
图书信息数据库在MySQL的BookDB库的book表里，连接数据库时，请设置连接字符集是utf8；
得到数据后，请通过for循环依次输出；代码结束前，请通过close方法关闭数据库连接对象
"""

import mysql.connector


class Database(object):
    # similar as the static method in java
    @classmethod
    def create_connection(cls):
        connection = mysql.connector.connect(username="root", password="123456", host="127.0.0.1", database="demo")
        return connection

    @classmethod
    def query(cls):
        sql = "select * from book where price < 70 and date(date)>= '2017-01-01';"
        conn = Database.create_connection()
        cursor = conn.cursor()
        cursor.execute(sql)
        result_set = cursor.fetchall()
        cursor.close()
        conn.close()
        return result_set


def query_book():
    books = Database.query()
    for book in books:
        print("图书：《%s》，价格：¥%0.2f元，出版日期：%s" % (book[1], book[2], book[3].strftime('%Y-%m-%d')))


query_book()
